/* @flow */

import {
  isPreTag,
  mustUseProp,
  isReservedTag,
  getTagNamespace
} from '../util/index'

import modules from './modules/index'
import directives from './directives/index'
import { genStaticKeys } from 'shared/util'
import { isUnaryTag, canBeLeftOpenTag } from './util'

export const baseOptions: CompilerOptions = {
  // HTML内容
  expectHTML: true,
  // 模块 - 处理内部样式和行内样式以及v-model
  modules,
  // 模板中指令  v-model / v-text / v-html
  directives,
  // pre标签
  isPreTag,
  // 闭合标签
  isUnaryTag,
  mustUseProp,
  canBeLeftOpenTag,
  // 保留标签
  isReservedTag,
  getTagNamespace,
  staticKeys: genStaticKeys(modules)
}
